def double(a):
    print(" before: ", a)
    a = a*2
    print(" after: ",a)
def change(a1):
    print(" before : ", a1)
    a1.append(" add data ")
    print(" after :" , a1)
    return

a=1
double(a)
print("a变了没啊[看上去是值传递]：", a)
double(' hello ')
b=[1,2]
double(b)
print("b变了没啊[看上去是引用传递]：", b)
change(b)
print("b变了没啊[看上去是引用传递]：", b)
##总结：普通计算是值传递，集合的append操作是引用传递
##即：入参的值是可变的按引用传递，比如：列表、字典、集合；入参的值是不可变的按值传递，比如：字符串、整数、元组
